#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//#define NDEBUG
//#include<assert.h>
//int main()
//{
//	int a = 0;
//	int* pa = &a;
//	pa = NULL;
//	assert(pa != NULL);
//	return 0;
//}

//#include<stdio.h>
//#include<assert.h>
//size_t my_strlen(const char* arr)
//{
//	size_t count = 0;
//	assert(arr != NULL);
//	while (*arr)
//	{
//		count++;
//		arr++;
//	}
//	return count;
//}
//
//int main()
//{
//	char arr[] = "rgregre";
//	size_t ret = my_strlen(arr);
//	printf("%zd", ret);
//	return 0;
//}

//#include<stdio.h>
//
//test(int* arr)
//{
//	int i = 0;
//	for (i = 0;i < 9;i++)
//	{
//		printf("%d ", *(arr + i));
//	}
//}
//int main()
//{
//	int arr[10] = { 0 ,1,2,3,4,5,6,7,8,9};
//	//printf("%p\n", arr);
//	//printf("%p\n", &arr);
//	//printf("%p\n", arr+1);
//	//printf("%p\n", &arr+1);
//	printf("%d ", arr[5]);
//	printf("%d ", *(arr+5));
//	printf("%d ",  5[arr]);
//	printf("%d ", *(5+arr));
//	test(arr);
//	return 0;
//}

//#include<stdio.h>
//void bubblesort(int* p,int sz)
//{
//	int count = 0;
//	int i = 0;
//	for (i = 0;i < sz - 1;i++)
//	{
//		int flag = 1;
//		int j = 0;
//		for (j = 0;j < sz - 1 - i;j++)
//		{
//			count++;
//			if (p[j] > p[j + 1])
//			{
//				flag = 0;
//				int tmp = p[j];
//				p[j] = p[j + 1];
//				p[j + 1] = tmp;
//			}
//
//		}
//		if (flag == 1)
//		{
//			break;
//		}
//	}
//	printf("%d\n", count);
//}
//int main()
//{
//	int arr[] = { 9,0,1,2,3,4,5,6,7,8 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	bubblesort(arr,sz);
//	int i = 0;
//	for (i = 0;i < sz;i++)
//	{
//		printf("%d ", i[arr]);
//	}
//
//	return 0;
//}